package com.business.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.sys.result.BaseVo;

public class CarModelExample extends BaseVo{
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CarModelExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSeriesIdIsNull() {
            addCriterion("series_id is null");
            return (Criteria) this;
        }

        public Criteria andSeriesIdIsNotNull() {
            addCriterion("series_id is not null");
            return (Criteria) this;
        }

        public Criteria andSeriesIdEqualTo(Integer value) {
            addCriterion("series_id =", value, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdNotEqualTo(Integer value) {
            addCriterion("series_id <>", value, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdGreaterThan(Integer value) {
            addCriterion("series_id >", value, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("series_id >=", value, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdLessThan(Integer value) {
            addCriterion("series_id <", value, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdLessThanOrEqualTo(Integer value) {
            addCriterion("series_id <=", value, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdIn(List<Integer> values) {
            addCriterion("series_id in", values, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdNotIn(List<Integer> values) {
            addCriterion("series_id not in", values, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdBetween(Integer value1, Integer value2) {
            addCriterion("series_id between", value1, value2, "seriesId");
            return (Criteria) this;
        }

        public Criteria andSeriesIdNotBetween(Integer value1, Integer value2) {
            addCriterion("series_id not between", value1, value2, "seriesId");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andGuidePriceIsNull() {
            addCriterion("guide_price is null");
            return (Criteria) this;
        }

        public Criteria andGuidePriceIsNotNull() {
            addCriterion("guide_price is not null");
            return (Criteria) this;
        }

        public Criteria andGuidePriceEqualTo(BigDecimal value) {
            addCriterion("guide_price =", value, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceNotEqualTo(BigDecimal value) {
            addCriterion("guide_price <>", value, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceGreaterThan(BigDecimal value) {
            addCriterion("guide_price >", value, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("guide_price >=", value, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceLessThan(BigDecimal value) {
            addCriterion("guide_price <", value, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("guide_price <=", value, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceIn(List<BigDecimal> values) {
            addCriterion("guide_price in", values, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceNotIn(List<BigDecimal> values) {
            addCriterion("guide_price not in", values, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("guide_price between", value1, value2, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andGuidePriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("guide_price not between", value1, value2, "guidePrice");
            return (Criteria) this;
        }

        public Criteria andLevelNameIsNull() {
            addCriterion("level_name is null");
            return (Criteria) this;
        }

        public Criteria andLevelNameIsNotNull() {
            addCriterion("level_name is not null");
            return (Criteria) this;
        }

        public Criteria andLevelNameEqualTo(String value) {
            addCriterion("level_name =", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameNotEqualTo(String value) {
            addCriterion("level_name <>", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameGreaterThan(String value) {
            addCriterion("level_name >", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameGreaterThanOrEqualTo(String value) {
            addCriterion("level_name >=", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameLessThan(String value) {
            addCriterion("level_name <", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameLessThanOrEqualTo(String value) {
            addCriterion("level_name <=", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameLike(String value) {
            addCriterion("level_name like", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameNotLike(String value) {
            addCriterion("level_name not like", value, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameIn(List<String> values) {
            addCriterion("level_name in", values, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameNotIn(List<String> values) {
            addCriterion("level_name not in", values, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameBetween(String value1, String value2) {
            addCriterion("level_name between", value1, value2, "levelName");
            return (Criteria) this;
        }

        public Criteria andLevelNameNotBetween(String value1, String value2) {
            addCriterion("level_name not between", value1, value2, "levelName");
            return (Criteria) this;
        }

        public Criteria andEngineModenameIsNull() {
            addCriterion("engine_modename is null");
            return (Criteria) this;
        }

        public Criteria andEngineModenameIsNotNull() {
            addCriterion("engine_modename is not null");
            return (Criteria) this;
        }

        public Criteria andEngineModenameEqualTo(String value) {
            addCriterion("engine_modename =", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameNotEqualTo(String value) {
            addCriterion("engine_modename <>", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameGreaterThan(String value) {
            addCriterion("engine_modename >", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameGreaterThanOrEqualTo(String value) {
            addCriterion("engine_modename >=", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameLessThan(String value) {
            addCriterion("engine_modename <", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameLessThanOrEqualTo(String value) {
            addCriterion("engine_modename <=", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameLike(String value) {
            addCriterion("engine_modename like", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameNotLike(String value) {
            addCriterion("engine_modename not like", value, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameIn(List<String> values) {
            addCriterion("engine_modename in", values, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameNotIn(List<String> values) {
            addCriterion("engine_modename not in", values, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameBetween(String value1, String value2) {
            addCriterion("engine_modename between", value1, value2, "engineModename");
            return (Criteria) this;
        }

        public Criteria andEngineModenameNotBetween(String value1, String value2) {
            addCriterion("engine_modename not between", value1, value2, "engineModename");
            return (Criteria) this;
        }

        public Criteria andDisplacementIsNull() {
            addCriterion("displacement is null");
            return (Criteria) this;
        }

        public Criteria andDisplacementIsNotNull() {
            addCriterion("displacement is not null");
            return (Criteria) this;
        }

        public Criteria andDisplacementEqualTo(Double value) {
            addCriterion("displacement =", value, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementNotEqualTo(Double value) {
            addCriterion("displacement <>", value, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementGreaterThan(Double value) {
            addCriterion("displacement >", value, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementGreaterThanOrEqualTo(Double value) {
            addCriterion("displacement >=", value, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementLessThan(Double value) {
            addCriterion("displacement <", value, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementLessThanOrEqualTo(Double value) {
            addCriterion("displacement <=", value, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementIn(List<Double> values) {
            addCriterion("displacement in", values, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementNotIn(List<Double> values) {
            addCriterion("displacement not in", values, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementBetween(Double value1, Double value2) {
            addCriterion("displacement between", value1, value2, "displacement");
            return (Criteria) this;
        }

        public Criteria andDisplacementNotBetween(Double value1, Double value2) {
            addCriterion("displacement not between", value1, value2, "displacement");
            return (Criteria) this;
        }

        public Criteria andHorsepowerIsNull() {
            addCriterion("horsepower is null");
            return (Criteria) this;
        }

        public Criteria andHorsepowerIsNotNull() {
            addCriterion("horsepower is not null");
            return (Criteria) this;
        }

        public Criteria andHorsepowerEqualTo(Double value) {
            addCriterion("horsepower =", value, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerNotEqualTo(Double value) {
            addCriterion("horsepower <>", value, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerGreaterThan(Double value) {
            addCriterion("horsepower >", value, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerGreaterThanOrEqualTo(Double value) {
            addCriterion("horsepower >=", value, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerLessThan(Double value) {
            addCriterion("horsepower <", value, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerLessThanOrEqualTo(Double value) {
            addCriterion("horsepower <=", value, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerIn(List<Double> values) {
            addCriterion("horsepower in", values, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerNotIn(List<Double> values) {
            addCriterion("horsepower not in", values, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerBetween(Double value1, Double value2) {
            addCriterion("horsepower between", value1, value2, "horsepower");
            return (Criteria) this;
        }

        public Criteria andHorsepowerNotBetween(Double value1, Double value2) {
            addCriterion("horsepower not between", value1, value2, "horsepower");
            return (Criteria) this;
        }

        public Criteria andFlowModenameIsNull() {
            addCriterion("flow_modename is null");
            return (Criteria) this;
        }

        public Criteria andFlowModenameIsNotNull() {
            addCriterion("flow_modename is not null");
            return (Criteria) this;
        }

        public Criteria andFlowModenameEqualTo(String value) {
            addCriterion("flow_modename =", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameNotEqualTo(String value) {
            addCriterion("flow_modename <>", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameGreaterThan(String value) {
            addCriterion("flow_modename >", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameGreaterThanOrEqualTo(String value) {
            addCriterion("flow_modename >=", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameLessThan(String value) {
            addCriterion("flow_modename <", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameLessThanOrEqualTo(String value) {
            addCriterion("flow_modename <=", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameLike(String value) {
            addCriterion("flow_modename like", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameNotLike(String value) {
            addCriterion("flow_modename not like", value, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameIn(List<String> values) {
            addCriterion("flow_modename in", values, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameNotIn(List<String> values) {
            addCriterion("flow_modename not in", values, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameBetween(String value1, String value2) {
            addCriterion("flow_modename between", value1, value2, "flowModename");
            return (Criteria) this;
        }

        public Criteria andFlowModenameNotBetween(String value1, String value2) {
            addCriterion("flow_modename not between", value1, value2, "flowModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameIsNull() {
            addCriterion("driving_modename is null");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameIsNotNull() {
            addCriterion("driving_modename is not null");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameEqualTo(String value) {
            addCriterion("driving_modename =", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameNotEqualTo(String value) {
            addCriterion("driving_modename <>", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameGreaterThan(String value) {
            addCriterion("driving_modename >", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameGreaterThanOrEqualTo(String value) {
            addCriterion("driving_modename >=", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameLessThan(String value) {
            addCriterion("driving_modename <", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameLessThanOrEqualTo(String value) {
            addCriterion("driving_modename <=", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameLike(String value) {
            addCriterion("driving_modename like", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameNotLike(String value) {
            addCriterion("driving_modename not like", value, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameIn(List<String> values) {
            addCriterion("driving_modename in", values, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameNotIn(List<String> values) {
            addCriterion("driving_modename not in", values, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameBetween(String value1, String value2) {
            addCriterion("driving_modename between", value1, value2, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andDrivingModenameNotBetween(String value1, String value2) {
            addCriterion("driving_modename not between", value1, value2, "drivingModename");
            return (Criteria) this;
        }

        public Criteria andMaxSpedIsNull() {
            addCriterion("max_sped is null");
            return (Criteria) this;
        }

        public Criteria andMaxSpedIsNotNull() {
            addCriterion("max_sped is not null");
            return (Criteria) this;
        }

        public Criteria andMaxSpedEqualTo(Double value) {
            addCriterion("max_sped =", value, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedNotEqualTo(Double value) {
            addCriterion("max_sped <>", value, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedGreaterThan(Double value) {
            addCriterion("max_sped >", value, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedGreaterThanOrEqualTo(Double value) {
            addCriterion("max_sped >=", value, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedLessThan(Double value) {
            addCriterion("max_sped <", value, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedLessThanOrEqualTo(Double value) {
            addCriterion("max_sped <=", value, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedIn(List<Double> values) {
            addCriterion("max_sped in", values, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedNotIn(List<Double> values) {
            addCriterion("max_sped not in", values, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedBetween(Double value1, Double value2) {
            addCriterion("max_sped between", value1, value2, "maxSped");
            return (Criteria) this;
        }

        public Criteria andMaxSpedNotBetween(Double value1, Double value2) {
            addCriterion("max_sped not between", value1, value2, "maxSped");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionIsNull() {
            addCriterion("oil_consumption is null");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionIsNotNull() {
            addCriterion("oil_consumption is not null");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionEqualTo(Double value) {
            addCriterion("oil_consumption =", value, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionNotEqualTo(Double value) {
            addCriterion("oil_consumption <>", value, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionGreaterThan(Double value) {
            addCriterion("oil_consumption >", value, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionGreaterThanOrEqualTo(Double value) {
            addCriterion("oil_consumption >=", value, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionLessThan(Double value) {
            addCriterion("oil_consumption <", value, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionLessThanOrEqualTo(Double value) {
            addCriterion("oil_consumption <=", value, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionIn(List<Double> values) {
            addCriterion("oil_consumption in", values, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionNotIn(List<Double> values) {
            addCriterion("oil_consumption not in", values, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionBetween(Double value1, Double value2) {
            addCriterion("oil_consumption between", value1, value2, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andOilConsumptionNotBetween(Double value1, Double value2) {
            addCriterion("oil_consumption not between", value1, value2, "oilConsumption");
            return (Criteria) this;
        }

        public Criteria andGearboxNumIsNull() {
            addCriterion("gearbox_num is null");
            return (Criteria) this;
        }

        public Criteria andGearboxNumIsNotNull() {
            addCriterion("gearbox_num is not null");
            return (Criteria) this;
        }

        public Criteria andGearboxNumEqualTo(Integer value) {
            addCriterion("gearbox_num =", value, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumNotEqualTo(Integer value) {
            addCriterion("gearbox_num <>", value, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumGreaterThan(Integer value) {
            addCriterion("gearbox_num >", value, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("gearbox_num >=", value, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumLessThan(Integer value) {
            addCriterion("gearbox_num <", value, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumLessThanOrEqualTo(Integer value) {
            addCriterion("gearbox_num <=", value, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumIn(List<Integer> values) {
            addCriterion("gearbox_num in", values, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumNotIn(List<Integer> values) {
            addCriterion("gearbox_num not in", values, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumBetween(Integer value1, Integer value2) {
            addCriterion("gearbox_num between", value1, value2, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andGearboxNumNotBetween(Integer value1, Integer value2) {
            addCriterion("gearbox_num not between", value1, value2, "gearboxNum");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeIsNull() {
            addCriterion("transmission_type is null");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeIsNotNull() {
            addCriterion("transmission_type is not null");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeEqualTo(String value) {
            addCriterion("transmission_type =", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeNotEqualTo(String value) {
            addCriterion("transmission_type <>", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeGreaterThan(String value) {
            addCriterion("transmission_type >", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeGreaterThanOrEqualTo(String value) {
            addCriterion("transmission_type >=", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeLessThan(String value) {
            addCriterion("transmission_type <", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeLessThanOrEqualTo(String value) {
            addCriterion("transmission_type <=", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeLike(String value) {
            addCriterion("transmission_type like", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeNotLike(String value) {
            addCriterion("transmission_type not like", value, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeIn(List<String> values) {
            addCriterion("transmission_type in", values, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeNotIn(List<String> values) {
            addCriterion("transmission_type not in", values, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeBetween(String value1, String value2) {
            addCriterion("transmission_type between", value1, value2, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andTransmissionTypeNotBetween(String value1, String value2) {
            addCriterion("transmission_type not between", value1, value2, "transmissionType");
            return (Criteria) this;
        }

        public Criteria andHeightIsNull() {
            addCriterion("height is null");
            return (Criteria) this;
        }

        public Criteria andHeightIsNotNull() {
            addCriterion("height is not null");
            return (Criteria) this;
        }

        public Criteria andHeightEqualTo(Integer value) {
            addCriterion("height =", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotEqualTo(Integer value) {
            addCriterion("height <>", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightGreaterThan(Integer value) {
            addCriterion("height >", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("height >=", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightLessThan(Integer value) {
            addCriterion("height <", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightLessThanOrEqualTo(Integer value) {
            addCriterion("height <=", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightIn(List<Integer> values) {
            addCriterion("height in", values, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotIn(List<Integer> values) {
            addCriterion("height not in", values, "height");
            return (Criteria) this;
        }

        public Criteria andHeightBetween(Integer value1, Integer value2) {
            addCriterion("height between", value1, value2, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotBetween(Integer value1, Integer value2) {
            addCriterion("height not between", value1, value2, "height");
            return (Criteria) this;
        }

        public Criteria andLengthIsNull() {
            addCriterion("length is null");
            return (Criteria) this;
        }

        public Criteria andLengthIsNotNull() {
            addCriterion("length is not null");
            return (Criteria) this;
        }

        public Criteria andLengthEqualTo(Integer value) {
            addCriterion("length =", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotEqualTo(Integer value) {
            addCriterion("length <>", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthGreaterThan(Integer value) {
            addCriterion("length >", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthGreaterThanOrEqualTo(Integer value) {
            addCriterion("length >=", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthLessThan(Integer value) {
            addCriterion("length <", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthLessThanOrEqualTo(Integer value) {
            addCriterion("length <=", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthIn(List<Integer> values) {
            addCriterion("length in", values, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotIn(List<Integer> values) {
            addCriterion("length not in", values, "length");
            return (Criteria) this;
        }

        public Criteria andLengthBetween(Integer value1, Integer value2) {
            addCriterion("length between", value1, value2, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotBetween(Integer value1, Integer value2) {
            addCriterion("length not between", value1, value2, "length");
            return (Criteria) this;
        }

        public Criteria andWidthIsNull() {
            addCriterion("width is null");
            return (Criteria) this;
        }

        public Criteria andWidthIsNotNull() {
            addCriterion("width is not null");
            return (Criteria) this;
        }

        public Criteria andWidthEqualTo(Integer value) {
            addCriterion("width =", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotEqualTo(Integer value) {
            addCriterion("width <>", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThan(Integer value) {
            addCriterion("width >", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThanOrEqualTo(Integer value) {
            addCriterion("width >=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThan(Integer value) {
            addCriterion("width <", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThanOrEqualTo(Integer value) {
            addCriterion("width <=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthIn(List<Integer> values) {
            addCriterion("width in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotIn(List<Integer> values) {
            addCriterion("width not in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthBetween(Integer value1, Integer value2) {
            addCriterion("width between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotBetween(Integer value1, Integer value2) {
            addCriterion("width not between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andWeightIsNull() {
            addCriterion("weight is null");
            return (Criteria) this;
        }

        public Criteria andWeightIsNotNull() {
            addCriterion("weight is not null");
            return (Criteria) this;
        }

        public Criteria andWeightEqualTo(Integer value) {
            addCriterion("weight =", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotEqualTo(Integer value) {
            addCriterion("weight <>", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThan(Integer value) {
            addCriterion("weight >", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("weight >=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThan(Integer value) {
            addCriterion("weight <", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThanOrEqualTo(Integer value) {
            addCriterion("weight <=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightIn(List<Integer> values) {
            addCriterion("weight in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotIn(List<Integer> values) {
            addCriterion("weight not in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightBetween(Integer value1, Integer value2) {
            addCriterion("weight between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotBetween(Integer value1, Integer value2) {
            addCriterion("weight not between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andWheelBaseIsNull() {
            addCriterion("wheel_base is null");
            return (Criteria) this;
        }

        public Criteria andWheelBaseIsNotNull() {
            addCriterion("wheel_base is not null");
            return (Criteria) this;
        }

        public Criteria andWheelBaseEqualTo(Integer value) {
            addCriterion("wheel_base =", value, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseNotEqualTo(Integer value) {
            addCriterion("wheel_base <>", value, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseGreaterThan(Integer value) {
            addCriterion("wheel_base >", value, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseGreaterThanOrEqualTo(Integer value) {
            addCriterion("wheel_base >=", value, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseLessThan(Integer value) {
            addCriterion("wheel_base <", value, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseLessThanOrEqualTo(Integer value) {
            addCriterion("wheel_base <=", value, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseIn(List<Integer> values) {
            addCriterion("wheel_base in", values, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseNotIn(List<Integer> values) {
            addCriterion("wheel_base not in", values, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseBetween(Integer value1, Integer value2) {
            addCriterion("wheel_base between", value1, value2, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andWheelBaseNotBetween(Integer value1, Integer value2) {
            addCriterion("wheel_base not between", value1, value2, "wheelBase");
            return (Criteria) this;
        }

        public Criteria andQualityIsNull() {
            addCriterion("quality is null");
            return (Criteria) this;
        }

        public Criteria andQualityIsNotNull() {
            addCriterion("quality is not null");
            return (Criteria) this;
        }

        public Criteria andQualityEqualTo(String value) {
            addCriterion("quality =", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityNotEqualTo(String value) {
            addCriterion("quality <>", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityGreaterThan(String value) {
            addCriterion("quality >", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityGreaterThanOrEqualTo(String value) {
            addCriterion("quality >=", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityLessThan(String value) {
            addCriterion("quality <", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityLessThanOrEqualTo(String value) {
            addCriterion("quality <=", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityLike(String value) {
            addCriterion("quality like", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityNotLike(String value) {
            addCriterion("quality not like", value, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityIn(List<String> values) {
            addCriterion("quality in", values, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityNotIn(List<String> values) {
            addCriterion("quality not in", values, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityBetween(String value1, String value2) {
            addCriterion("quality between", value1, value2, "quality");
            return (Criteria) this;
        }

        public Criteria andQualityNotBetween(String value1, String value2) {
            addCriterion("quality not between", value1, value2, "quality");
            return (Criteria) this;
        }

        public Criteria andStrucDoorIsNull() {
            addCriterion("struc_door is null");
            return (Criteria) this;
        }

        public Criteria andStrucDoorIsNotNull() {
            addCriterion("struc_door is not null");
            return (Criteria) this;
        }

        public Criteria andStrucDoorEqualTo(Integer value) {
            addCriterion("struc_door =", value, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorNotEqualTo(Integer value) {
            addCriterion("struc_door <>", value, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorGreaterThan(Integer value) {
            addCriterion("struc_door >", value, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorGreaterThanOrEqualTo(Integer value) {
            addCriterion("struc_door >=", value, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorLessThan(Integer value) {
            addCriterion("struc_door <", value, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorLessThanOrEqualTo(Integer value) {
            addCriterion("struc_door <=", value, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorIn(List<Integer> values) {
            addCriterion("struc_door in", values, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorNotIn(List<Integer> values) {
            addCriterion("struc_door not in", values, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorBetween(Integer value1, Integer value2) {
            addCriterion("struc_door between", value1, value2, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andStrucDoorNotBetween(Integer value1, Integer value2) {
            addCriterion("struc_door not between", value1, value2, "strucDoor");
            return (Criteria) this;
        }

        public Criteria andTrucSeatIsNull() {
            addCriterion("truc_seat is null");
            return (Criteria) this;
        }

        public Criteria andTrucSeatIsNotNull() {
            addCriterion("truc_seat is not null");
            return (Criteria) this;
        }

        public Criteria andTrucSeatEqualTo(Integer value) {
            addCriterion("truc_seat =", value, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatNotEqualTo(Integer value) {
            addCriterion("truc_seat <>", value, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatGreaterThan(Integer value) {
            addCriterion("truc_seat >", value, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatGreaterThanOrEqualTo(Integer value) {
            addCriterion("truc_seat >=", value, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatLessThan(Integer value) {
            addCriterion("truc_seat <", value, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatLessThanOrEqualTo(Integer value) {
            addCriterion("truc_seat <=", value, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatIn(List<Integer> values) {
            addCriterion("truc_seat in", values, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatNotIn(List<Integer> values) {
            addCriterion("truc_seat not in", values, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatBetween(Integer value1, Integer value2) {
            addCriterion("truc_seat between", value1, value2, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andTrucSeatNotBetween(Integer value1, Integer value2) {
            addCriterion("truc_seat not between", value1, value2, "trucSeat");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameIsNull() {
            addCriterion("struc_typename is null");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameIsNotNull() {
            addCriterion("struc_typename is not null");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameEqualTo(Integer value) {
            addCriterion("struc_typename =", value, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameNotEqualTo(Integer value) {
            addCriterion("struc_typename <>", value, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameGreaterThan(Integer value) {
            addCriterion("struc_typename >", value, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameGreaterThanOrEqualTo(Integer value) {
            addCriterion("struc_typename >=", value, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameLessThan(Integer value) {
            addCriterion("struc_typename <", value, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameLessThanOrEqualTo(Integer value) {
            addCriterion("struc_typename <=", value, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameIn(List<Integer> values) {
            addCriterion("struc_typename in", values, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameNotIn(List<Integer> values) {
            addCriterion("struc_typename not in", values, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameBetween(Integer value1, Integer value2) {
            addCriterion("struc_typename between", value1, value2, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andStrucTypenameNotBetween(Integer value1, Integer value2) {
            addCriterion("struc_typename not between", value1, value2, "strucTypename");
            return (Criteria) this;
        }

        public Criteria andCreatimeIsNull() {
            addCriterion("creatime is null");
            return (Criteria) this;
        }

        public Criteria andCreatimeIsNotNull() {
            addCriterion("creatime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatimeEqualTo(Date value) {
            addCriterion("creatime =", value, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeNotEqualTo(Date value) {
            addCriterion("creatime <>", value, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeGreaterThan(Date value) {
            addCriterion("creatime >", value, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeGreaterThanOrEqualTo(Date value) {
            addCriterion("creatime >=", value, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeLessThan(Date value) {
            addCriterion("creatime <", value, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeLessThanOrEqualTo(Date value) {
            addCriterion("creatime <=", value, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeIn(List<Date> values) {
            addCriterion("creatime in", values, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeNotIn(List<Date> values) {
            addCriterion("creatime not in", values, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeBetween(Date value1, Date value2) {
            addCriterion("creatime between", value1, value2, "creatime");
            return (Criteria) this;
        }

        public Criteria andCreatimeNotBetween(Date value1, Date value2) {
            addCriterion("creatime not between", value1, value2, "creatime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Boolean value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Boolean value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Boolean value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Boolean value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Boolean value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Boolean> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Boolean> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}